<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OrbbecSDK: E:/Projects/Jenkins/workspace/OrbbecSDK/libobsensor/include/libobsensor/h/RecordPlayback.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="orbbec_icon.png"/></td>
  <td id="projectalign">
   <div id="projectname">OrbbecSDK<span id="projectnumber">&#160;1.10.5</span>
   </div>
   <div id="projectbrief">OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_8195f5c0d9a800b311ff87242d342361.html">libobsensor</a></li><li class="navelem"><a class="el" href="dir_9fda3634bd985c8b3aac4c1dd5078468.html">h</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">RecordPlayback.h File Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Header file for recording and playback functions.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ObTypes_8h_source.html">ObTypes.h</a>&quot;</code><br />
</div>
<p><a href="RecordPlayback_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:accebe1ad2288202ab54bc56f3cf5774c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#accebe1ad2288202ab54bc56f3cf5774c">ob_create_recorder</a> (<a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:accebe1ad2288202ab54bc56f3cf5774c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a recorder for data recording.  <br /></td></tr>
<tr class="separator:accebe1ad2288202ab54bc56f3cf5774c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4798d8bd857a0d5d3b60f1af916e323"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#ac4798d8bd857a0d5d3b60f1af916e323">ob_create_recorder_with_device</a> (<a class="el" href="ObTypes_8h.html#a3c87c98acfd9b143bb58c731d95fa437">ob_device</a> *dev, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ac4798d8bd857a0d5d3b60f1af916e323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a recorder for data recording.  <br /></td></tr>
<tr class="separator:ac4798d8bd857a0d5d3b60f1af916e323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada8198e5864c0e04f4ae0af7c8271aae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#ada8198e5864c0e04f4ae0af7c8271aae">ob_delete_recorder</a> (<a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *recorder, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ada8198e5864c0e04f4ae0af7c8271aae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the recorder object.  <br /></td></tr>
<tr class="separator:ada8198e5864c0e04f4ae0af7c8271aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66007cf428a258c2de217e9379984d34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a66007cf428a258c2de217e9379984d34">ob_recorder_start</a> (<a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *recorder, const char *filename, bool async, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a66007cf428a258c2de217e9379984d34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start recording.  <br /></td></tr>
<tr class="separator:a66007cf428a258c2de217e9379984d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a541028e725b8e68a47a5f54f350d3343"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a541028e725b8e68a47a5f54f350d3343">ob_recorder_stop</a> (<a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *recorder, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a541028e725b8e68a47a5f54f350d3343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop recording.  <br /></td></tr>
<tr class="separator:a541028e725b8e68a47a5f54f350d3343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd02c1a5488a0398126450998de621c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a5fd02c1a5488a0398126450998de621c">ob_recorder_write_frame</a> (<a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *recorder, <a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5fd02c1a5488a0398126450998de621c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write frame data to the recorder.  <br /></td></tr>
<tr class="separator:a5fd02c1a5488a0398126450998de621c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae06c6bd094e1e65df66eea93566a941b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#ae06c6bd094e1e65df66eea93566a941b">ob_create_playback</a> (const char *filename, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ae06c6bd094e1e65df66eea93566a941b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a playback object.  <br /></td></tr>
<tr class="separator:ae06c6bd094e1e65df66eea93566a941b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29190427d09445093390a9c5b3bc415f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a29190427d09445093390a9c5b3bc415f">ob_delete_playback</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a29190427d09445093390a9c5b3bc415f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the playback object.  <br /></td></tr>
<tr class="separator:a29190427d09445093390a9c5b3bc415f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12eddd62773793def56ce46313e7b92e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a12eddd62773793def56ce46313e7b92e">ob_playback_start</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="ObTypes_8h.html#a1470dbad9f19b34bd74a55d1e7ecdacc">ob_playback_callback</a> callback, void *user_data, <a class="el" href="ObTypes_8h.html#a086e2fd3c6e6be9aa458552fff6620b5">ob_media_type</a> type, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a12eddd62773793def56ce46313e7b92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start playback, with data returned from the callback.  <br /></td></tr>
<tr class="separator:a12eddd62773793def56ce46313e7b92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8744ae2674412005818b973fe390d1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#ac8744ae2674412005818b973fe390d1e">ob_playback_stop</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ac8744ae2674412005818b973fe390d1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop playback.  <br /></td></tr>
<tr class="separator:ac8744ae2674412005818b973fe390d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30e23b32950de33d7ae2333abbeb3126"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a30e23b32950de33d7ae2333abbeb3126">ob_set_playback_state_callback</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="ObTypes_8h.html#add32a1f63591525a2574ea6fe97abb28">ob_media_state_callback</a> callback, void *user_data, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a30e23b32950de33d7ae2333abbeb3126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the playback state.  <br /></td></tr>
<tr class="separator:a30e23b32950de33d7ae2333abbeb3126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b0ca84cc0e6848a33c6b4b7e7490cbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a42a8c24d730235cd52687cda4372f0d9">ob_device_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#a0b0ca84cc0e6848a33c6b4b7e7490cbb">ob_playback_get_device_info</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a0b0ca84cc0e6848a33c6b4b7e7490cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the device information in the recording file.  <br /></td></tr>
<tr class="separator:a0b0ca84cc0e6848a33c6b4b7e7490cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae96fc83f8c2d7578c8f72048f55b1875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a0a9062fd0ef0ed06f67494e3011f40ef">ob_camera_param</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecordPlayback_8h.html#ae96fc83f8c2d7578c8f72048f55b1875">ob_playback_get_camera_param</a> (<a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *playback, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ae96fc83f8c2d7578c8f72048f55b1875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the intrinsic and extrinsic parameter information in the recording file.  <br /></td></tr>
<tr class="separator:ae96fc83f8c2d7578c8f72048f55b1875"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Header file for recording and playback functions. </p>

<p class="definition">Definition in file <a class="el" href="RecordPlayback_8h_source.html">RecordPlayback.h</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="accebe1ad2288202ab54bc56f3cf5774c" name="accebe1ad2288202ab54bc56f3cf5774c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accebe1ad2288202ab54bc56f3cf5774c">&#9670;&#160;</a></span>ob_create_recorder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> * ob_create_recorder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a recorder for data recording. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the recorder object. </dd></dl>

</div>
</div>
<a id="ac4798d8bd857a0d5d3b60f1af916e323" name="ac4798d8bd857a0d5d3b60f1af916e323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4798d8bd857a0d5d3b60f1af916e323">&#9670;&#160;</a></span>ob_create_recorder_with_device()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> * ob_create_recorder_with_device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a3c87c98acfd9b143bb58c731d95fa437">ob_device</a> *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a recorder for data recording. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">dev</td><td>The device object used to create the recorder. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the recorder object. </dd></dl>

</div>
</div>
<a id="ada8198e5864c0e04f4ae0af7c8271aae" name="ada8198e5864c0e04f4ae0af7c8271aae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada8198e5864c0e04f4ae0af7c8271aae">&#9670;&#160;</a></span>ob_delete_recorder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_delete_recorder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td>
          <td class="paramname"><em>recorder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete the recorder object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">recorder</td><td>Pointer to the recorder object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a66007cf428a258c2de217e9379984d34" name="a66007cf428a258c2de217e9379984d34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66007cf428a258c2de217e9379984d34">&#9670;&#160;</a></span>ob_recorder_start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_recorder_start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td>
          <td class="paramname"><em>recorder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start recording. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">recorder</td><td>Pointer to the recorder object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Recorded file name. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">async</td><td>Whether to record asynchronously. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a541028e725b8e68a47a5f54f350d3343" name="a541028e725b8e68a47a5f54f350d3343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a541028e725b8e68a47a5f54f350d3343">&#9670;&#160;</a></span>ob_recorder_stop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_recorder_stop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td>
          <td class="paramname"><em>recorder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stop recording. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">recorder</td><td>Pointer to the recorder object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5fd02c1a5488a0398126450998de621c" name="a5fd02c1a5488a0398126450998de621c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fd02c1a5488a0398126450998de621c">&#9670;&#160;</a></span>ob_recorder_write_frame()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_recorder_write_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a94a2bc903de84297c69928e6fa1da8b1">ob_recorder</a> *&#160;</td>
          <td class="paramname"><em>recorder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write frame data to the recorder. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">recorder</td><td>Pointer to the recorder object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Pointer to the frame data to write. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae06c6bd094e1e65df66eea93566a941b" name="ae06c6bd094e1e65df66eea93566a941b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae06c6bd094e1e65df66eea93566a941b">&#9670;&#160;</a></span>ob_create_playback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> * ob_create_playback </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a playback object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Playback filename. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the playback object. </dd></dl>

</div>
</div>
<a id="a29190427d09445093390a9c5b3bc415f" name="a29190427d09445093390a9c5b3bc415f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29190427d09445093390a9c5b3bc415f">&#9670;&#160;</a></span>ob_delete_playback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_delete_playback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete the playback object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a12eddd62773793def56ce46313e7b92e" name="a12eddd62773793def56ce46313e7b92e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12eddd62773793def56ce46313e7b92e">&#9670;&#160;</a></span>ob_playback_start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_playback_start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a1470dbad9f19b34bd74a55d1e7ecdacc">ob_playback_callback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a086e2fd3c6e6be9aa458552fff6620b5">ob_media_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start playback, with data returned from the callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>Callback function for playback data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>User data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of playback data. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac8744ae2674412005818b973fe390d1e" name="ac8744ae2674412005818b973fe390d1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8744ae2674412005818b973fe390d1e">&#9670;&#160;</a></span>ob_playback_stop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_playback_stop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stop playback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a30e23b32950de33d7ae2333abbeb3126" name="a30e23b32950de33d7ae2333abbeb3126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30e23b32950de33d7ae2333abbeb3126">&#9670;&#160;</a></span>ob_set_playback_state_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_set_playback_state_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#add32a1f63591525a2574ea6fe97abb28">ob_media_state_callback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the playback state. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>Playback status callback function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>User data. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0b0ca84cc0e6848a33c6b4b7e7490cbb" name="a0b0ca84cc0e6848a33c6b4b7e7490cbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b0ca84cc0e6848a33c6b4b7e7490cbb">&#9670;&#160;</a></span>ob_playback_get_device_info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a42a8c24d730235cd52687cda4372f0d9">ob_device_info</a> * ob_playback_get_device_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the device information in the recording file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the device information. </dd></dl>

</div>
</div>
<a id="ae96fc83f8c2d7578c8f72048f55b1875" name="ae96fc83f8c2d7578c8f72048f55b1875"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae96fc83f8c2d7578c8f72048f55b1875">&#9670;&#160;</a></span>ob_playback_get_camera_param()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a0a9062fd0ef0ed06f67494e3011f40ef">ob_camera_param</a> ob_playback_get_camera_param </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a246245d747c851b57373f7b5d97eb396">ob_playback</a> *&#160;</td>
          <td class="paramname"><em>playback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the intrinsic and extrinsic parameter information in the recording file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">playback</td><td>Pointer to the playback object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Pointer to log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Camera intrinsic and extrinsic parameter. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat May 11 2024 17:13:38 for OrbbecSDK by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
